package com.mdb.open.epay.domain.po.epay;

import com.baomidou.mybatisplus.annotation.*;
import com.mdb.bc.api.data.DataObjectBase;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 类描述：
 * 限额限次历史表实体类
 *
 * @author liuyi
 * @date 2019-11-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("ep_quota_limit_his")
public class EpQuotaLimitHis extends DataObjectBase {

    private static final long serialVersionUID = 1L;
    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 产品code
     */
    @ApiModelProperty(value = "产品code")
    @TableField("prod_code")
    private String prodCode;

    /**
     * 产品名称
     */
    @ApiModelProperty(value = "产品名称")
    @TableField("prod_name")
    private String prodName;

    /**
     * 商户号
     */
    @ApiModelProperty(value = "商户号")
    @TableField("customer_code")
    private String customerCode;

    /**
     * 商户名称
     */
    @ApiModelProperty(value = "商户名称")
    @TableField("customer_name")
    private String customerName;

    /**
     * 策略名称
     */
    @ApiModelProperty(value = "策略名称")
    @TableField("strategy_name")
    private String strategyName;

    /**
     * 状态 1.可用 2.禁用
     */
    @ApiModelProperty(value = "状态 1.可用 2.禁用")
    private String status;

    /**
     * 作用方 1.付款方 2.收款方
     */
    @ApiModelProperty(value = "作用方 1.付款方 2.收款方")
    @TableField("eff_scope_type")
    private String effScopeType;

    /**
     * 限定类型 1.限额 2.限次
     */
    @ApiModelProperty(value = "限定类型 1.限额 2.限次")
    private String type;

    /**
     * 限定值
     */
    @ApiModelProperty(value = "限定值")
    @TableField("limit_value")
    private String limitValue;

    /**
     * 范围类型 1.单笔 2.累计
     */
    @ApiModelProperty(value = "范围类型 1.单笔 2.累计")
    @TableField("range_type")
    private String rangeType;

    /**
     * 范围值 1.按日 2.按周 3.按月 4.按年
     */
    @ApiModelProperty(value = "范围值 1.按日 2.按周 3.按月 4.按年")
    @TableField("range_value_type")
    private String rangeValueType;

    /**
     * 生效时间
     */
    @ApiModelProperty(value = "生效时间")
    @TableField("eff_time")
    private LocalDateTime effTime;

    /**
     * 失效时间
     */
    @ApiModelProperty(value = "失效时间")
    @TableField("exp_time")
    private LocalDateTime expTime;

    /**
     * 创建者No
     */
    @ApiModelProperty(value = "创建者No")
    @TableField(value = "create_user_id", fill = FieldFill.INSERT)
    private String createUserId;

    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    @TableField(value = "create_user_name", fill = FieldFill.INSERT)
    private String createUserName;

    /**
     * 操作人No
     */
    @ApiModelProperty(value = "操作人No")
    @TableField("opt_user_id")
    private String optUserId;

    /**
     * 操作人name
     */
    @ApiModelProperty(value = "操作人name")
    @TableField("opt_user_name")
    private String optUserName;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

}
